home *** CD-ROM | disk | FTP | other *** search
/ PC World 2007 July & August / PCWorld_2007-07-08_cd.bin / v cisle / multiav / Multi_AV.exe / McAfee.kix < prev    next >
Text File  |  2007-05-09  |  9KB  |  304 lines

  1. ;
  2. ;  05-09-2007 // v2.01
  3. ;
  4. SETCONSOLE("hide")
  5. $MalwareProcMode
  6. $SafeMode="N"
  7. $home="c:\AV-CLS\McAfee"
  8. $procedurefile="c:\AV-CLS\killproc.txt"
  9. $excludefile="c:\AV-CLS\exclist.txt"
  10. $ProcMode1=left($ProcMode,1)
  11. $Report=$home+"\ScanReport.HTML"
  12. SELECT
  13.   CASE $ProcMode1="R"
  14.     $MalwareProcMode=' /clean /del '
  15.   CASE $ProcMode1="D"
  16.     $MalwareProcMode=' '
  17. ENDSELECT
  18. $CMDline1='/unzip /WINMEM /sub /analyze /PANALYZE /STREAMS /all'
  19. $CMDline2='/mime /PROGRAM /exclude $excludefile /HTML "$Report"'
  20. $CMDline=$CMDline1+$MalwareProcMode+$CMDline2
  21. $drive=left($home,2)
  22. $Site="ftp.nai.speedera.net"
  23. ;$site="ftpeur.nai.com"
  24. ;$Site="ftp.mcafee.com"
  25. $EXTRAsrc="c:\AV-CLS\extra.dat"
  26. $pmfolder=readvalue("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion","ProgramFilesDir")
  27. $Commonfolder=readvalue("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion","CommonFilesDir")
  28. $WMICheck=ConfirmWMI()     
  29. If ($WMICheck="")=0  
  30.   Dim $objWMIServ
  31.   $objWMIServ=GetObject("winmgmts:\\.\root\CIMV2").ExecQuery("SELECT * FROM Win32_ComputerSystem", "WQL",48)
  32.   For Each $obj In $objWMIServ
  33.     $BootupState=$obj.BootupState
  34.   Next
  35.   $BootStat=$BootupState
  36.   $BootupState=left(ucase($BootupState),6)  
  37.   if ($BootupState="NORMAL")=0 $SafeMode="Y" endif
  38. Else   
  39.   $BootStat="Undetermined"
  40.   $SafeMode="U"
  41. EndIf
  42. go $drive
  43. md $home
  44. cd $home
  45. cls
  46. if exist("C:\AV-CLS\McAfee\rwabs16.dll")=0
  47.   copy "C:\AV-CLS\rwabs16" "C:\AV-CLS\McAfee\rwabs16.dll"
  48. endif
  49. if exist ($EXTRAsrc)=1
  50.   if exist ("extra.dat")=1
  51.     copy "extra.dat"  "extra1.dat"
  52.     del "extra.dat" 
  53.     shell '%comspec% /c copy $EXTRAsrc+"extra1.dat" "extra.dat"'
  54.     del $EXTRAsrc
  55.     del "extra1.dat"
  56.   else
  57.     copy $EXTRAsrc  "c:\AV-CLS\mcafee"
  58.     del $EXTRAsrc
  59.   endif
  60. endif
  61. if exist ("setup.exe")=1 or ("c:\AV-CLS\setup.exe")=1 
  62.   shell "setup /e $home"
  63.   if exist ("c:\AV-CLS\setup.exe")=1 
  64.     move "c:\AV-CLS\setup.exe" "c:\AV-CLS\mcafee\setup.exe"
  65.   endif
  66.   copy "setup.exe" "oldsetup.exe"
  67.   del "setup.exe"
  68.   del "*.vxd"
  69.   del "*.ns?"
  70.   del "SignLic.txt"
  71.   del "*.lst"
  72.   del "GSDSuper.dll"
  73.   del "SuperDAT.log"
  74.   goto SCAN
  75. endif
  76. if ($SafeMode="Y")=1 goto TEST endif
  77. if exist ("scan.dat")=1
  78.   $DATdate=right(left(GETFILETIME("scan.dat"),10),5)
  79.   $Today=right(@date,5)
  80.   $DATmonth=left($DATdate,2)
  81.   $DATmonth=int(val($DATmonth))
  82.   $Todaymonth=left($Today,2)
  83.   $Todaymonth=int(val($Todaymonth))
  84.   $DATday=right($DATdate,2)
  85.   $DATday=int(val($DATday))
  86.   $Todayday=right($Today,2)
  87.   $Todayday=int(val($Todayday))
  88.   if ($DATmonth = $Todaymonth)=1
  89.     if (($Todayday-$DATday) >= 1)=1
  90.       $OLD="T"
  91.       gosub "GetFiles"
  92.       goto scan
  93.     endif
  94.   endif
  95.   if ($DATmonth < $Todaymonth)=1 or ($DATmonth > $Todaymonth)=1
  96.     $OLD="T"
  97.     gosub "GetFiles"
  98.     goto scan
  99.   endif
  100. else
  101.   gosub "GetFiles"
  102. endif
  103. :TEST
  104. If ($SafeMode="Y")=1 and exist ("scan.dat")=1 goto SCAN endif
  105. If ($SafeMode="Y")=1 and exist ("scan.dat")=0 
  106.   if @inwin=1
  107.     BEEP
  108.     ShutDown ("","McAfee DAT Files were not found. The computer is being shutdown so you can download them in Normal Mode",30,1,1)
  109.     goto END
  110.   else
  111.     BEEP
  112.     messagebox("McAfee DAT Files were not found. The computer is being shutdown so you can download them in Normal Mode"," McAfee Command Line Scanner ",48,30)
  113.     run "%windir%\RUNDLL32.EXE user.exe,ExitWindows"
  114.     goto END
  115.   endif
  116. endif
  117. :SCAN
  118. $result=messagebox ("Do you want to run the McAfee CLS now ? "," McAfee Command Line Scanner ",36,20)
  119. SELECT
  120.   CASE ($result="6")=1
  121.     ; YES
  122.     $result=messagebox ("Do you want to scan a particular folder or location  ? "," McAfee Command Line Scanner ",36,20)
  123.     KillProcess()
  124.     SELECT      
  125.       CASE ($result="6")=1
  126.         ; YES
  127.         gosub "ScanFolder"
  128.       CASE ($result="7")=1
  129.         ; NO
  130.         CleanCache()
  131.         gosub "ScanDefault"
  132.     ENDSELECT
  133.   CASE ($result="7")=1
  134.     ; NO
  135.     goto END
  136.   CASE 1
  137.     ; NO
  138.     goto END
  139. ENDSELECT
  140. :END
  141. SETCONSOLE("hide")
  142. exit
  143. ;---------------------------------------------------
  144. :GetFiles
  145.   Color y+/b
  146.   cls
  147.   SETCONSOLE("SHOW")
  148.   SETCONSOLE("MAXIMIZE")
  149.   SETCONSOLE("FOREGROUND")
  150.   SETTITLE ("McAfee Module")
  151.   cls
  152.   if exist ($home+"\update.ini")=1 del $home+"\update.ini" endif
  153.   shell "c:\AV-CLS\wget --tries=2 --timeout=15 --passive-ftp --http-user=anonymous --http-passwd=jmcafee@@gmail.com  ftp://"+$Site+"/pub/antivirus/datfiles/4.x/update.ini"
  154.   IF Open(1,$home+"\update.ini",2)=0
  155.     $x=ReadLine(1)
  156.     WHILE @ERROR=0
  157.       $x=ReadLine(1)
  158.       if ("FileName=sdat"=LEFT($x,13))=1 $DATfile=$x endif
  159.     LOOP
  160.     Close(1)
  161.   ELSE
  162.     gosub "HTTP_GetFiles"
  163.   ENDIF
  164.   $SuperDAT=right($datfile,12)
  165.   cls
  166.   if ($HTTPGet="Y")=1
  167.     shell "c:\AV-CLS\wget http://download.nai.com/products/licensed/superdat/english/intel/$SuperDAT"
  168.   else
  169.     shell "c:\AV-CLS\wget --tries=2 --timeout=15 --passive-ftp --http-user=anonymous --http-passwd=jmcafee@@gmail.com  ftp://"+$Site+"/pub/antivirus/superdat/intel/$SuperDAT"
  170.   endif
  171.   cls
  172.   SETCONSOLE("hide")
  173.   shell "$SuperDAT /e $home"
  174.   del "$SuperDAT"
  175.   del "*.vxd"
  176.   del "*.ns?"
  177.   del "SignLic.txt"
  178.   del "*.lst"
  179.   del "*.ini"
  180.   del "GSDSuper.dll"
  181.   del "SuperDAT.log"
  182. Return
  183. ;---------------------------------------------------
  184. :HTTP_GetFiles
  185.   shell "c:\AV-CLS\wget http://download.nai.com/products/datfiles/4.x/nai/update.ini"
  186.   IF Open(1,$home+"\update.ini",2)=0
  187.     $x=ReadLine(1)
  188.     WHILE @ERROR=0
  189.       $x=ReadLine(1)
  190.       if ("FileName=sdat"=LEFT($x,13))=1 $DATfile=$x endif
  191.     LOOP
  192.     Close(1)
  193.     $HTTPGet="Y"
  194.   ELSE
  195.     if exist ("scan.dat")=1
  196.       SETCONSOLE("hide")
  197.       $HTTPGet="Y"
  198.       goto scan
  199.     else
  200.       cls
  201.       BEEP
  202.       SETCONSOLE("SHOW")
  203.       SETCONSOLE("MAXIMIZE")
  204.       SETCONSOLE("FOREGROUND")
  205.       SETTITLE ("McAfee Module")
  206.       ? $home+"\update.ini not opened for READ, error code: [" + @ERROR + "]"
  207.       sleep 11
  208.     endif
  209.     exit
  210.   ENDIF
  211. Return
  212. ;---------------------------------------------------
  213. :ScanDefault
  214.   copy "scan.exe" "t.EXE"
  215.   gosub "CreateExcludeFile"
  216.   SETCONSOLE("SHOW")
  217.   SETCONSOLE("MAXIMIZE")
  218.   SETCONSOLE("FOREGROUND")
  219.   SETTITLE ("McAfee Module")
  220.   Color y+/n
  221.   cls
  222.   shell 't.EXE /adl '+$CMDline
  223.   SETCONSOLE("hide")
  224.   if exist ($excludefile)=1 del $excludefile endif
  225.   del "t.EXE"
  226.   gosub "ShowReport"
  227. Return
  228. ;---------------------------------------------------
  229. :CreateExcludeFile
  230.   if exist ($excludefile)=1 del $excludefile endif
  231.   Open (1,$excludefile,1)
  232.   Close(1)
  233.   Open (1,$excludefile,4)
  234.   WriteLine(1,"process.exe"+@CRLF)
  235.   WriteLine(1,"ipscan221.exe"+@CRLF)
  236.   Close(1)
  237. return
  238. ;---------------------------------------------------
  239. :ShowReport
  240.   $FireFox=ReadValue('HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\firefox.exe','')
  241.   $IExplore=ReadValue('HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\IEXPLORE.EXE','')
  242.   if exist ("$Report")=1
  243.     SELECT
  244.       CASE exist ("$pmfolder\Opera\Opera.exe")=1
  245.         run '"$pmfolder\Opera\Opera.exe" "$Report"'
  246.       CASE $FireFox
  247.         run '"$FireFox" "$Report"'
  248.       CASE $IExplore
  249.         run '"$IExplore"  "$Report"'
  250.     ENDSELECT
  251.   endif
  252. Return
  253. ;---------------------------------------------------
  254. :ScanFolder
  255.   copy "scan.exe" "t.EXE"
  256.   gosub "CreateExcludeFile"
  257.   :REPEAT
  258.   If ($Browser="Y")=1
  259.     $folder=GUIdialog()
  260.     if @error or (left($folder,2)="::")=1 
  261.       $folder="C:" 
  262.     endif
  263.   else
  264.     SETCONSOLE("SHOW")
  265.     SETCONSOLE("MAXIMIZE")
  266.     SETCONSOLE("FOREGROUND")
  267.     SETTITLE ("McAfee Module")
  268.     Color g+/n
  269.     cls
  270.     AT  (6,18) "Please enter the target location"
  271.     color y+/b
  272.     AT  (7,18) "                                              "
  273.     AT  (8,18) "                                              "
  274.     AT  (9,18) "                                              "
  275.     AT  (8,19)
  276.     FLUSHKB
  277.     gets $folder
  278.     $folder=ltrim(rtrim($folder))
  279.     if exist ($folder)=0 
  280.       Color r+/n
  281.       AT  (10,18) "Bad Folder or location name... Please try again."
  282.       sleep 3
  283.       goto REPEAT 
  284.     endif
  285.   endif
  286.   SETCONSOLE("SHOW")
  287.   SETCONSOLE("MAXIMIZE")
  288.   SETCONSOLE("FOREGROUND")
  289.   SETTITLE ("McAfee Module")
  290.   Color y+/n
  291.   cls
  292.   Color g+/n
  293.   AT  (1,0)  "Scanning... "+$folder
  294.   AT  (3,0) 
  295.   Color y+/n
  296.   shell 't.EXE "$folder" '+$CMDline
  297.   cls
  298.   SETCONSOLE("hide")
  299.   if exist ($excludefile)=1 del $excludefile endif
  300.   del "t.EXE"
  301.   gosub "ShowReport"
  302. Return
  303.  
  304.